package com.esunny.resourcevisualization.dao;

import com.esunny.resourcevisualization.domain.entity.EnumGroup;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @version 1.0.0.0
 * @InterfaceName EnumGroupDao
 * @Description 枚举组数据操作
 * @Author baochencong
 * @Date 2020/9/26 13:08
 */
@Mapper
public interface EnumGroupDao {
    /**
     * 添加枚举组
     *
     * @param enumGroup 枚举组
     * @return 添加枚举组结果
     */
    boolean addEnumGroup(EnumGroup enumGroup);

    /**
     * 通过枚举组英文名删除枚举组
     *
     * @param groupName 枚举组英文名
     * @return 删除枚举组结果
     */
    boolean deleteEnumGroupByGroupName(String groupName);

    /**
     * 通过枚举组id修改枚举组信息
     *
     * @param enumGroup 枚举组信息
     */
    void updateEnumGroupByGroupId(EnumGroup enumGroup);

    /**
     * 通过枚举组英文名修改枚举组信息
     *
     * @param enumGroup 枚举组信息
     * @return 修改枚举组信息结果
     */
    boolean updateEnumGroupByGroupName(EnumGroup enumGroup);

    /**
     * 通过枚举组英文名获取枚举组信息
     *
     * @param groupName 枚举组英文名
     * @return 枚举组
     */
    EnumGroup getEnumGroupByGroupName(String groupName);

    /**
     * 通过枚举项中文名获取枚举组信息
     *
     * @param groupTitle
     * @return 枚举组
     */
    EnumGroup getEnumGroupByGroupTitle(String groupTitle);

    /**
     * 通过枚举组id获取枚举组信息
     *
     * @param groupId 枚举组id
     * @return 枚举组
     */
    EnumGroup getEnumGroupByGroupId(int groupId);

    /**
     * 获取枚举组列表
     *
     * @return 所有枚举组列表信息
     */
    List<EnumGroup> getEnumGroupList();
}
